import request from '@/utils/request';

/* 
  关于 request 第二个参数 options  常用的两个传参方式

     1、 params传参：也就是query传参，多用于get请求，查询数据使用 类型是 对象 或 URLSearchParams
     2、 data传参，也就是body传参，多用于提交表单数据；类型是any，推荐使用对象
*/


/**
 * 获取当前登录用户的信息
 * 
 * @returns {Promise<any>}
 */
export async function queryCurrent() {
  // return request('/api/currentUser');
  // return request('/admin/user');
  return {
    "id": 1,
    "name": "超级管理员",
    "email": "super@a.com",
    "phone": null,
    "avatar": null,
    "avatar_url": "",
    "is_locked": 0,
    "created_at": "2020-12-22T02:58:08.000000Z",
    "updated_at": "2020-12-22T04:32:27.000000Z"
  }
}


/**
 * 获取用户列表
 * @returns {Promise<any>}
 */
export async function getUsers(params) {
  return request( '/admin/users', { params } )
}


/**
 * 禁用和启用 用户 
 * @param uid 用户id 
 * @returns {Promise<any>}
 */
export async function lockUser(uid) {
  return request.patch(`/admin/users/${uid}/lock`)
}


/**
 * 添加用户   data消息体传参   params 是 query传参
 * @param {*} params 
 */
export async function addUser(data) {
  return request.post('/admin/users', { data })
}


/**
 * 修改用户信息
 * @param {*} params 
 */
 export async function updateUser(editId, data) {
  return request.put(`/admin/users/${editId}`, { data })
}


/**
 * 用户详情
 * @param {*} params 
 */
 export async function showUser(editId) {
  return request.get(`/admin/users/${editId}`)
}


